package com.chaoli.reggie_diy.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.chaoli.reggie_diy.common.R;
import com.chaoli.reggie_diy.domain.Dish;
import com.chaoli.reggie_diy.dto.DishDto;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

public interface DishService extends IService<Dish> {
    //新增菜品，同时保存菜品对应的口味数据，需要操作两张表：dish，dish_flavor
    @Transactional
    void saveWithFlavor(DishDto dishDto);

    //根据菜品id查询菜品信息和口味信息
    @Transactional
    DishDto getDishAndFlavorById(Long id);

    //修改菜品，包括口味信息
    @Transactional
    void updateWithFlavor(DishDto dishDto);

    //根据id批量删除菜品
    @Transactional
    void deleteByIdsWithFalvor(List<Long> ids);

    //优化根据ids删除菜品
    @Transactional
    R<String> deleteByIdsPerfect(List<Long> ids);
}
